MATLAB® is a product of The MathWorks, Inc. of Natick, Mass., which provides engineers, scientists, mathematicians, and educators across a diverse range of industries with an environment for technical computing applications. MATLAB® is an intuitive high performance language and technical computing environment that provides mathematical and graphical tools for mathematical computation, data analysis, visualization and algorithm development. As a desktop application, MATLAB® typically runs on a single computer and serially executes technical computer programs. However, a single computer executing a program sequentially can be limiting as to the size and the type of the problem that can be solved. For example, some complex and data intensive problems are too large to fit in the memory space of a single computer. In another example, a complex and data intensive problem may take an unreasonable amount of time to run on a single computer.
With the availability of more cost effective parallel computers, such as Beowolf clusters, researchers and scientists are interested in parallel computing in a technical computing environment such as MATLAB®. However, the use of low level parallel programming paradigms is difficult even for the more advanced users. Such parallel programming paradigms require extensive message passing between computing environments to coordinate and control parallel computing activities. Less advanced users who are well versed in the user friendly technical computing programming language of MATLAB® may find it challenging to design and develop technical computing programs for parallel processing.
With many engineering and scientific problems requiring larger and more complex modeling that would benefit from parallel computing, it is desirable to provide a technique to execute in parallel a technical computing program in a user-friendly manner. Systems and methods are needed to execute a technical computing program in parallel in multiple execution environments.